package com.zzyl.nursing.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.zzyl.common.annotation.Excel;
import com.zzyl.common.core.domain.BaseEntity;
import lombok.Data;
import java.util.Date;

@Data
public class Reservation extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long id;

    /** 预约人姓名 */
    @Excel(name = "预约人姓名")
    private String name;

    /** 预约人手机号 */
    @Excel(name = "预约人手机号")
    private String mobile;

    /** 预约时间（改为Date类型） */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") // 必须加timezone！
    @Excel(name = "预约时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date time; // 关键：改为Date类型

    /** 探访人 */
    @Excel(name = "探访人")
    private String visitor;

    /** 预约类型（0：参观预约，1：探访预约） */
    @Excel(name = "预约类型", readConverterExp = "0=参观预约,1=探访预约")
    private Integer type;

    /** 预约状态（0：待报道，1：已完成，2：取消，3：过期） */
    @Excel(name = "预约状态", readConverterExp = "0=待报道,1=已完成,2=取消,3=过期")
    private Integer status;

    // 临时字段：用于统计剩余预约次数
    @TableField(exist = false)
    private Integer count;
}